package packVistas;

import javax.swing.JDialog;
import javax.swing.JPanel;

import java.awt.BorderLayout;

import javax.swing.JComboBox;
import javax.swing.JLabel;

import java.awt.GridLayout;

import javax.swing.JTable;
import javax.swing.JButton;

import packLigaDeFutbol.GestorEquipos;
import packLigaDeFutbol.GestorJugadores;
import packLigaDeFutbol.GestorTemporadas;
import packLigaDeFutbol.UtilControles;
import packLigaDeFutbol.comboValue;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.sql.ResultSet;

import javax.swing.table.DefaultTableModel;

import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import java.awt.Insets;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;

public class Estadisticas extends JDialog {
	private JTable tJugadores;
	private int idTemporada,idJor;
	private JLabel lJugados, lGanados, lPerdidos, lEmpatados_1, lAmarillas, lRojas;
	private packLigaDeFutbol.Estadisticas e = new packLigaDeFutbol.Estadisticas();
	private JComboBox<comboValue> cmbEquipos;


	public Estadisticas() {
		setModal(true);
		setTitle("Estadísticas");
		setBounds(100, 100, 739, 574);
		
		JPanel panel = new JPanel();
		getContentPane().add(panel, BorderLayout.CENTER);

		GridBagLayout gbl_panel = new GridBagLayout();
		gbl_panel.columnWidths = new int[]{184, 184, 184, 0, 184, 0};
		gbl_panel.rowHeights = new int[]{89, 89, 89, 89, 89, 0};
		gbl_panel.columnWeights = new double[]{1.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
		gbl_panel.rowWeights = new double[]{0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
		panel.setLayout(gbl_panel);
		
		cmbEquipos = new JComboBox<comboValue>();
		cmbEquipos.addItemListener(new ItemListener() {
			public void itemStateChanged(ItemEvent arg0) {
				lGanados.setText(e.pGanados(idJor, idTemporada, ((comboValue)cmbEquipos.getSelectedItem()).getValor()));
				lAmarillas.setText(e.pTarjetasA(idJor, idTemporada, ((comboValue)cmbEquipos.getSelectedItem()).getValor()));
				lEmpatados_1.setText(e.pEmpatados(idJor, idTemporada, ((comboValue)cmbEquipos.getSelectedItem()).getValor()));
				lJugados.setText(e.pJugados(idJor));
				lPerdidos.setText(e.pPerdidos(idJor, idTemporada, ((comboValue)cmbEquipos.getSelectedItem()).getValor()));
				lRojas.setText(e.pTarjetasR(idJor, idTemporada, ((comboValue)cmbEquipos.getSelectedItem()).getValor()));
				//UtilControles.cargarTabla(tJugadores, e.estadisticasJugadores(((comboValue)cmbEquipos.getSelectedItem()).getValor(), idJor, idTemporada));
			}
		});
		
		GridBagConstraints gbc_cmbEquipos = new GridBagConstraints();
		gbc_cmbEquipos.insets = new Insets(0, 0, 5, 5);
		gbc_cmbEquipos.fill = GridBagConstraints.HORIZONTAL;
		gbc_cmbEquipos.gridx = 0;
		gbc_cmbEquipos.gridy = 0;
		panel.add(cmbEquipos, gbc_cmbEquipos);
		
		JLabel jugados = new JLabel("Partidos Jugados");
		GridBagConstraints gbc_jugados = new GridBagConstraints();
		gbc_jugados.fill = GridBagConstraints.BOTH;
		gbc_jugados.insets = new Insets(0, 0, 5, 5);
		gbc_jugados.gridx = 1;
		gbc_jugados.gridy = 0;
		panel.add(jugados, gbc_jugados);
		
		lJugados = new JLabel("");
		GridBagConstraints gbc_lJugados = new GridBagConstraints();
		gbc_lJugados.fill = GridBagConstraints.BOTH;
		gbc_lJugados.insets = new Insets(0, 0, 5, 5);
		gbc_lJugados.gridx = 2;
		gbc_lJugados.gridy = 0;
		panel.add(lJugados, gbc_lJugados);
		
		JLabel amarillas = new JLabel("Tarjetas amarillas");
		GridBagConstraints gbc_amarillas = new GridBagConstraints();
		gbc_amarillas.fill = GridBagConstraints.BOTH;
		gbc_amarillas.insets = new Insets(0, 0, 5, 5);
		gbc_amarillas.gridx = 3;
		gbc_amarillas.gridy = 0;
		panel.add(amarillas, gbc_amarillas);
		
		lAmarillas = new JLabel("");
		GridBagConstraints gbc_lAmarillas = new GridBagConstraints();
		gbc_lAmarillas.fill = GridBagConstraints.BOTH;
		gbc_lAmarillas.insets = new Insets(0, 0, 5, 0);
		gbc_lAmarillas.gridx = 4;
		gbc_lAmarillas.gridy = 0;
		panel.add(lAmarillas, gbc_lAmarillas);
		
		JLabel ganados = new JLabel("Partidos ganados");
		GridBagConstraints gbc_ganados = new GridBagConstraints();
		gbc_ganados.fill = GridBagConstraints.BOTH;
		gbc_ganados.insets = new Insets(0, 0, 5, 5);
		gbc_ganados.gridx = 1;
		gbc_ganados.gridy = 1;
		panel.add(ganados, gbc_ganados);
		
		lGanados = new JLabel("");
		GridBagConstraints gbc_lGanados = new GridBagConstraints();
		gbc_lGanados.fill = GridBagConstraints.BOTH;
		gbc_lGanados.insets = new Insets(0, 0, 5, 5);
		gbc_lGanados.gridx = 2;
		gbc_lGanados.gridy = 1;
		panel.add(lGanados, gbc_lGanados);
		
		JLabel rojas = new JLabel("Tarjetas rojas");
		GridBagConstraints gbc_rojas = new GridBagConstraints();
		gbc_rojas.fill = GridBagConstraints.BOTH;
		gbc_rojas.insets = new Insets(0, 0, 5, 5);
		gbc_rojas.gridx = 3;
		gbc_rojas.gridy = 1;
		panel.add(rojas, gbc_rojas);
		
		lRojas = new JLabel("");
		GridBagConstraints gbc_lRojas = new GridBagConstraints();
		gbc_lRojas.fill = GridBagConstraints.BOTH;
		gbc_lRojas.insets = new Insets(0, 0, 5, 0);
		gbc_lRojas.gridx = 4;
		gbc_lRojas.gridy = 1;
		panel.add(lRojas, gbc_lRojas);
		
		JLabel label = new JLabel("");
		GridBagConstraints gbc_label = new GridBagConstraints();
		gbc_label.fill = GridBagConstraints.BOTH;
		gbc_label.insets = new Insets(0, 0, 5, 5);
		gbc_label.gridx = 0;
		gbc_label.gridy = 2;
		panel.add(label, gbc_label);
		
		JLabel empatados = new JLabel("Partidos empatados");
		GridBagConstraints gbc_empatados = new GridBagConstraints();
		gbc_empatados.fill = GridBagConstraints.BOTH;
		gbc_empatados.insets = new Insets(0, 0, 5, 5);
		gbc_empatados.gridx = 1;
		gbc_empatados.gridy = 2;
		panel.add(empatados, gbc_empatados);
		
		lEmpatados_1 = new JLabel("");
		GridBagConstraints gbc_lEmpatados_1 = new GridBagConstraints();
		gbc_lEmpatados_1.fill = GridBagConstraints.BOTH;
		gbc_lEmpatados_1.insets = new Insets(0, 0, 5, 5);
		gbc_lEmpatados_1.gridx = 2;
		gbc_lEmpatados_1.gridy = 2;
		panel.add(lEmpatados_1, gbc_lEmpatados_1);
		
		JButton btnCerrar = new JButton("Cerrar");
		btnCerrar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				dispose();
			}
		});
		
		JLabel label_1 = new JLabel("");
		GridBagConstraints gbc_label_1 = new GridBagConstraints();
		gbc_label_1.fill = GridBagConstraints.BOTH;
		gbc_label_1.insets = new Insets(0, 0, 5, 5);
		gbc_label_1.gridx = 0;
		gbc_label_1.gridy = 3;
		panel.add(label_1, gbc_label_1);
		
		JLabel perdidos = new JLabel("Partidos perdidos");
		GridBagConstraints gbc_perdidos = new GridBagConstraints();
		gbc_perdidos.fill = GridBagConstraints.BOTH;
		gbc_perdidos.insets = new Insets(0, 0, 5, 5);
		gbc_perdidos.gridx = 1;
		gbc_perdidos.gridy = 3;
		panel.add(perdidos, gbc_perdidos);
		
		lPerdidos = new JLabel("");
		GridBagConstraints gbc_lPerdidos = new GridBagConstraints();
		gbc_lPerdidos.fill = GridBagConstraints.BOTH;
		gbc_lPerdidos.insets = new Insets(0, 0, 5, 5);
		gbc_lPerdidos.gridx = 2;
		gbc_lPerdidos.gridy = 3;
		panel.add(lPerdidos, gbc_lPerdidos);
		
		JLabel label_2 = new JLabel("");
		GridBagConstraints gbc_label_2 = new GridBagConstraints();
		gbc_label_2.fill = GridBagConstraints.BOTH;
		gbc_label_2.insets = new Insets(0, 0, 5, 0);
		gbc_label_2.gridx = 4;
		gbc_label_2.gridy = 3;
		panel.add(label_2, gbc_label_2);
		
		
		tJugadores = new JTable();
		tJugadores.setModel(new DefaultTableModel(
			new Object[][] {
			},
			new String[] {
				"Jugador", "Amarillas", "Rojas", "Goles"
			}
		));
		GridBagConstraints gbc_tJugadores = new GridBagConstraints();
		gbc_tJugadores.fill = GridBagConstraints.BOTH;
		gbc_tJugadores.insets = new Insets(0, 0, 0, 5);
		gbc_tJugadores.gridx = 0;
		gbc_tJugadores.gridy = 4;
		panel.add(tJugadores, gbc_tJugadores);
		
		JLabel label_3 = new JLabel("");
		GridBagConstraints gbc_label_3 = new GridBagConstraints();
		gbc_label_3.fill = GridBagConstraints.BOTH;
		gbc_label_3.insets = new Insets(0, 0, 0, 5);
		gbc_label_3.gridx = 1;
		gbc_label_3.gridy = 4;
		panel.add(label_3, gbc_label_3);
		GridBagConstraints gbc_btnCerrar = new GridBagConstraints();
		gbc_btnCerrar.fill = GridBagConstraints.BOTH;
		gbc_btnCerrar.insets = new Insets(0, 0, 0, 5);
		gbc_btnCerrar.gridx = 2;
		gbc_btnCerrar.gridy = 4;
		panel.add(btnCerrar, gbc_btnCerrar);
		
		JLabel label_4 = new JLabel("");
		GridBagConstraints gbc_label_4 = new GridBagConstraints();
		gbc_label_4.fill = GridBagConstraints.BOTH;
		gbc_label_4.gridx = 4;
		gbc_label_4.gridy = 4;
		panel.add(label_4, gbc_label_4);

	}
	
	public void cargarDatos(int pIdTemp,int pIdJor) {
		this.idJor = pIdJor;
		this.idTemporada = pIdTemp;
		ResultSet res = e.equiposTemporada(idTemporada);
		UtilControles.cargarCombo(cmbEquipos, res);
	}
}



